package com.ruoyi.agriculture.knowledge.mapper;

import java.util.List;
import com.ruoyi.agriculture.knowledge.domain.ZsCropVariety;
import org.apache.ibatis.annotations.Param;

/**
 * 品种信息Mapper接口
 *
 * @author ruoyi
 * @date 2025-07-22
 */
public interface ZsCropVarietyMapper
{
    /**
     * 查询品种信息
     *
     * @param id 品种信息主键
     * @return 品种信息
     */
    public ZsCropVariety selectZsCropVarietyById(Long id);

    /**
     * 🔥 新增：根据品种名称查询品种信息
     *
     * @param varietyName 品种名称
     * @return 品种信息
     */
    public ZsCropVariety selectZsCropVarietyByName(@Param("varietyName") String varietyName);

    /**
     * 查询品种信息列表
     *
     * @param zsCropVariety 品种信息
     * @return 品种信息集合
     */
    public List<ZsCropVariety> selectZsCropVarietyList(ZsCropVariety zsCropVariety);

    /**
     * 🔥 新增：搜索品种信息
     *
     * @param keyword 搜索关键词
     * @return 品种信息集合
     */
    public List<ZsCropVariety> searchZsCropVariety(@Param("keyword") String keyword);

    /**
     * 新增品种信息
     *
     * @param zsCropVariety 品种信息
     * @return 结果
     */
    public int insertZsCropVariety(ZsCropVariety zsCropVariety);

    /**
     * 修改品种信息
     *
     * @param zsCropVariety 品种信息
     * @return 结果
     */
    public int updateZsCropVariety(ZsCropVariety zsCropVariety);

    /**
     * 删除品种信息
     *
     * @param id 品种信息主键
     * @return 结果
     */
    public int deleteZsCropVarietyById(Long id);

    /**
     * 批量删除品种信息
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteZsCropVarietyByIds(Long[] ids);
}